package com.zlyx.easy.core.utils;

/**
 * 
 * @Auth 赵光
 * @Describle
 * @2019年1月3日 下午2:54:41
 */
public class ClassUtils {

	/**
	 * 实例化对象
	 * 
	 * @param tCls
	 * @return
	 */
	public static <T> T newInstance(Class<T> tCls) {
		try {
			return tCls.getConstructor().newInstance();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 判断是否继承关系
	 * 
	 * @param cls
	 * @param superClass
	 * @return
	 */
	public static boolean isAssignableFrom(Class<?> cls, Class<?> superClass) {
		if (cls == null || cls == Object.class) {
			return false;
		}
		if (cls == superClass || cls.isAssignableFrom(superClass)) {
			return true;
		}
		return isAssignableFrom(cls.getSuperclass(), superClass);
	}
}
